73 research outputs found
Reclaiming the energy of a schedule: models and algorithms
We consider a task graph to be executed on a set of processors. We assume
that the mapping is given, say by an ordered list of tasks to execute on each
processor, and we aim at optimizing the energy consumption while enforcing a
prescribed bound on the execution time. While it is not possible to change the
allocation of a task, it is possible to change its speed. Rather than using a
local approach such as backfilling, we consider the problem as a whole and
study the impact of several speed variation models on its complexity. For
continuous speeds, we give a closed-form formula for trees and series-parallel
graphs, and we cast the problem into a geometric programming problem for
general directed acyclic graphs. We show that the classical dynamic voltage and
frequency scaling (DVFS) model with discrete modes leads to a NP-complete
problem, even if the modes are regularly distributed (an important particular
case in practice, which we analyze as the incremental model). On the contrary,
the VDD-hopping model leads to a polynomial solution. Finally, we provide an
approximation algorithm for the incremental model, which we extend for the
general DVFS model.Comment: A two-page extended abstract of this work appeared as a short
presentation in SPAA'2011, while the long version has been accepted for
publication in "Concurrency and Computation: Practice and Experience
Two approximation algorithms for bipartite matching on multicore architectures
International audienceWe propose two heuristics for the bipartite matching problem that are amenable to shared-memory parallelization. The first heuristic is very intriguing from a parallelization perspective. It has no significant algorithmic synchronization overhead and no conflict resolution is needed across threads. We show that this heuristic has an approximation ratio of around 0.632 under some common conditions. The second heuristic is designed to obtain a larger matching by employing the well-known Karp-Sipser heuristic on a judiciously chosen subgraph of the original graph. We show that the Karp-Sipser heuristic always finds a maximum cardinality matching in the chosen subgraph. Although the Karp-Sipser heuristic is hard to parallelize for general graphs, we exploit the structure of the selected subgraphs to propose a specialized implementation which demonstrates very good scalability. We prove that this second heuristic has an approximation guarantee of around 0.866 under the same conditions as in the first algorithm. We discuss parallel implementations of the proposed heuristics on a multicore architecture. Experimental results, for demonstrating speed-ups and verifying the theoretical results in practice, are provided
Brief Announcement: Reclaiming the Energy of a Schedule, Models and Algorithms
Version longue publiée dans Concurrency and Computation: Practice and Experience.International audienceWe consider a task graph to be executed on a set of processors. We assume that the mapping is given, say by an ordered list of tasks to execute on each processor, and we aim at optimizing the energy consumption while enforcing a prescribed bound on the execution time. While it is not possible to change the allocation of a task, it is possible to change its speed. We study the complexity of the problem for different models: continuous speeds, discrete modes, distributed either arbitrarily or regularly, and VDD-hopping
Scheduling Tightly-Coupled Applications on Heterogeneous Desktop Grids
International audiencePlatforms that comprise volatile processors, such as desktop grids, have been traditionally used for executing independent-task applications. In this work we study the scheduling of tightly-coupled iterative master-worker applications onto volatile processors. The main challenge is that workers must be simultaneously available for the application to make progress. We consider three additional complications: (i) one should take into account that workers can become temporarily reclaimed and, for data-intensive applications; (ii) one should account for the limited bandwidth between the master and the workers; and (iii) workers are strongly heterogeneous, with different computing speeds and availability probability distributions. In this context, our first contribution is a theoretical study of the scheduling problem in its off-line version, i.e., when processor availability is known in advance. Even in this case the problem is NP-hard. Our second contribution is an analytical approximation of the expectation of the time needed by a set of workers to complete a set of tasks and of the probability of success of this computation. This approximation relies on a Markovian assumption for the temporal availability of processors. Our third contribution is a set of heuristics, some of which use the above approximation to favor reliable processors in a sensible manner. We evaluate these heuristics in simulation. We identify some heuristics that significantly outperform their competitors and derive heuristic design guidelines
Algorithmes et structures de donnĂ©es pour le problĂšme de requĂȘtes dâexistences dâhyperarĂȘtes dans des hypergraphes
Revised version April 2022We consider the problem of querying the existence of hyperedges in hypergraphs.More formally, we are given a hypergraph, and we need to answer queriesof the form ``does the following set of vertices form a hyperedge in the given hypergraph?''. Our aim is to set up data structures based on hashing to answer thesequeries as fast as possible.We propose an adaptation of a well-known perfect hashing approach for the problem at hand.We analyze the space and run time complexity of the proposed approach,and experimentally compare it with the state-of-the-art hashing-based solutions.Experiments demonstrate the efficiency of the proposed approach with respect to the state-of-the-art.Nous considĂ©rons le problĂšme de requĂȘtes d'existences d'hyperarĂȘtes dansdes hypergraphes. Plus formellement, pour un hypergraphe donnĂ©, nousdevons rĂ©pondre Ă des requĂȘtes de la forme "est-ce que l'ensemble desommets suivant forme une hyperarĂȘte de l'hypergraphe?". Notre objectifest de mettre en place une structure de donnĂ©e basĂ©e sur du hachage pourrĂ©pondre Ă ces requĂȘtes le plus rapidement possible. Nous proposons uneadaptation d'une approche bien connue de hachage parfait pour notreproblĂšme. Nous analysons la complexitĂ© en temps et en espace de cetteapproche, et nous la comparons expĂ©rimentalement Ă des solutions del'Ă©tat de l'art basĂ©es sur le hachage. Les expĂ©riences dĂ©montrent l'efficacitĂ© de l'approche proposĂ©e par rapport Ă l'Ă©tat de l'art
Scaling matrices and counting the perfect matchings in graphs
We investigate efficient randomized methods for approximating the number
of perfect matchings in bipartite graphs and general graphs. Our approach is based on
assigning probabilities to edges
Reclaiming the energy of a schedule: models and algorithms
We consider a task graph to be executed on a set of processors. We assume that the mapping is given, say by an ordered list of tasks to execute on each processor, and we aim at optimizing the energy consumption while enforcing a prescribed bound on the execution time. While it is not possible to change the allocation of a task, it is possible to change its speed. Rather than using a local approach such as backfilling, we consider the problem as a whole and study the impact of several speed variation models on its complexity. For continuous speeds, we give a closed-form formula for trees and series-parallel graphs, and we cast the problem into a geometric programming problem for general directed acyclic graphs. We show that the classical dynamic voltage and frequency scaling (DVFS) model with discrete modes leads to a NP-complete problem, even if the modes are regularly distributed (an important particular case in practice, which we analyze as the incremental model). On the contrary, the VDD-hopping model leads to a polynomial solution. Finally, we provide an approximation algorithm for the incremental model, which we extend for the general DVFS model
Ordonnancement pour la Fiabilité : complexité et algorithmes
This thesis deals with the mapping and the scheduling of workflows. In this context, we consider unreliable platforms, with processors subject to failures. In a first part, we consider a particular model of streaming applications : the filtering services. In this context, we aim at minimizing period and latency. We first neglect communication costs. In this model, we study scheduling problems on homogeneous and heterogeneous platforms. Then, the impact of communication costs on scheduling problems of a filtering application is studied. Finally, we consider the scheduling problem of such an application on a chain of processors. The theoretical complexity of any variant of this problem is proved. This filtering property can model the reliability of processors. The results of some computations are successfully computed, and some other ones are lost. We consider the more frequent failure types : transient failures. We aim efficient and reliable schedules. The complexity of many variants of this problem is proved. Two heuristics are proposed and compared using using simulations. Even if transient failures are the most common failures in classical grids, some particular type of platform are more concerned by other type of problems. Desktop grids are especially unstable. In this context, we want to execute iterative applications. All tasks are executed, then a synchronization occurs, and so on. Two variants of this problem are considered : applicationsof independent tasks, and applications where all tasks need to be executed at same speed. In both cases, the problem is first theoretically studied, then heuristics are proposed and compared using simulations.Les travaux prĂ©sentĂ©s dans cette thĂšse portent sur le placement et lâordonnancement dâapplications de flots de donnĂ©es. On se place dans le contexte de plates-formes composĂ©es de processeurs sujets Ă des pannes. Dans une premiĂšre partie, on considĂšre un type particulier dâapplications de flots de donnĂ©es: les services filtrants. On Ă©tudie l'ordonnancement de telles applications sur des plates-formes homogĂšnes et hĂ©tĂ©rogĂšnes, d'abord sans tenir compte des coĂ»ts de communication, puis en les incluant dans le modĂšle. On considĂšre enfin lâordonnancement dâun tel calcul sur une chaĂźne de processeurs. Le comportement dâun service filtrant est comparable Ă celui dâun calcul effectuĂ© sur un processeur non fiable: certains rĂ©sultats vont ĂȘtre calculĂ©s, et dâautres perdus. On Ă©tudie le modĂšle des pannes transitoires. On veut effectuer un calcul Ă la fois fiable et efficace. La complexitĂ© de diffĂ©rentes variantes de ce problĂšme est dĂ©montrĂ©e. Deux heuristiques sont dĂ©crites, puis comparĂ©es expĂ©rimentalement. Si les pannes transitoires sont les pannes les plus frĂ©quemment rencontrĂ©es sur des grilles de calculs classiques, certains types de plates-formes rencontrent dâautres types de dĂ©faillances. Les grilles de volontaires sont particuliĂšrement instables. Sur ce type de plate-forme, on veut exĂ©cuter des calculs itĂ©ratifs. Cette application est constituĂ©e soit de tĂąches indĂ©pendantes, soit de tĂąches couplĂ©es, qui doivent ĂȘtre calculĂ©es ensemble et au mĂȘme rythme. Dans chaque cas, le problĂšme est dâabord Ă©tudiĂ© thĂ©oriquement, puis des heuristiques sontproposĂ©es, et leur performances sont comparĂ©es
- âŠ